USE [NANS21V]
GO

/****** オブジェクト:  StoredProcedure [dbo].[TimeraceTeamList]    スクリプト日付: 03/17/2026 10:56:59 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[TimeraceTeamList]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[TimeraceTeamList]
GO

--元ソースより
/*

  * メモ
  * 今のならび順は、SQL上で並び替えされた結果がそのまま表示されているため、
  * 正規参加者の順位順（0判定がないため、記録無しが先頭にくる）
  * オープン参加者の記録順
  * 欠席者（ならび指定なし）
  * これを、正規参加者の順位順（記録無しは後ろに）
  * オープン参加者の記録順（記録無しは後ろに）
  * 欠席者（ならび指定競技者No）
  * とすること。
 
--元ソースでは上記メモにより、sqlを3回実行して並び替えを行っていたが、
  order byを工夫することで、1回実行するだけでできた
*/
CREATE PROCEDURE [dbo].[TimeraceTeamList]
	@TAIKAINO int,
	@KYOGINO int,
	@SUBNO int,
	@ROUNDNO int,
	@SYUMOKUKUBUN int,
	@KIROKUKUBUN int
AS
SELECT
	TR.KYOGINO,
	L.SUBNO,
	L.ROUNDNO,
	L.KUMINO,
	TR.LANE,
	--TR.KIROKU, 2020/11/30 記録変換処理追加 -->
	dbo.Kiroku(
				RS.KIROKU 
			  , SM.SYUMOKUKUBUN
			  , SM.KIROKUKUBUN
			  , RS.EXTEND2
		  ) AS KIROKU,
	RS.KIROKU AS ORIGINAL_KIROKU,
	-- 2020/11/30 記録変換処理追加 <--
	dbo.Jyuni(TR.JYUNI,SKG.OPENFLG) AS JYUNI,
	TR.PREJYUNI,
	dbo.CommentCodeConvert(TR.RCOMMENT, L.SYUKKETU) AS RCOMMENT,
	SKG.OPENFLG,
	L.KYOGISYANO,
	L.SYUKKETU,
	KS.NUMBER1,
	KS.NUMBER2,
	(CONVERT(varchar, KS.KYOGISYAKANA) + '<br/>' + CONVERT(varchar, KS.KYOGISYAMEI)) AS KYOGISYAMEI,
	(CONVERT(varchar, S.SYOZOKUMEI) + '<br/>' + CONVERT(varchar, KS.KOJINSYOZOKUTIMEI)) AS SYOZOKUMEI,
	KS.GAKUNEN,
	KS.SEINEN,
	TR.KAZE AS KAZE,
	ROW_NUMBER() OVER (PARTITION BY L.SYUKKETU ORDER BY (CASE TR.JYUNI WHEN '0' THEN 2 END), TR.KIROKU) AS num
FROM TBL_TIMERACE AS TR
	LEFT JOIN TBL_LANE AS L
		ON L.TAIKAINO = TR.TAIKAINO
		AND L.KYOGINO = TR.KYOGINO
		AND KYOGISYANO = TR.SENSYUNO
		AND KUMINO = KUMI
		AND L.LANE = TR.LANE
	LEFT JOIN TBL_SANKAKYOGI AS SKG
		ON SKG.TAIKAINO = TR.TAIKAINO
		AND SKG.KYOGINO = L.KYOGINO
		AND SKG.KYOGISYANO = TR.SENSYUNO
	LEFT JOIN TBL_KYOGISYA AS KS
		ON KS.TAIKAINO = TR.TAIKAINO
		AND KS.KYOGISYANO = TR.SENSYUNO
	LEFT JOIN TBL_SYOZOKU AS S
		ON S.TAIKAINO = TR.TAIKAINO
		AND S.SYOZOKUNO = KS.SYOZOKUNO1
	-- 2020/11/30 記録変換処理追加 -->
	LEFT JOIN TBL_KYOGI AS KG
		ON SKG.TAIKAINO = KG.TAIKAINO
		AND SKG.KYOGINO = KG.KYOGINO
	LEFT OUTER JOIN TBL_SYUMOKU_MASTER AS SM
		ON KG.SYUMOKUNO = SM.SYUMOKUNO
	LEFT OUTER JOIN TBL_RESULT AS RS
		ON  L.TAIKAINO = RS.TAIKAINO
		AND L.KYOGINO = RS.KYOGINO
		AND L.KUMINO = RS.KUMINO
		AND L.LANE = RS.LANE
	-- 2020/11/30 記録変換処理追加 <--
WHERE
	TR.TAIKAINO = @TAIKAINO
	AND TR.KYOGINO = @KYOGINO
	AND L.SUBNO = @SUBNO
	AND L.ROUNDNO = @ROUNDNO
ORDER BY
	CASE L.SYUKKETU WHEN 2 THEN 2 ELSE 1 END,
	CASE SKG.OPENFLG WHEN 1 THEN 2 ELSE 1 END,
	CASE TR.JYUNI WHEN '0' THEN 2 ELSE 1 END,
	TR.JYUNI,
	TR.KIROKU,
	L.KYOGISYANO